<?php
 $csv_separateur_champs = ";" ;
 $csv_separateur_chaine = "\"" ;
 $csv_fin_ligne = "\r\n" ;
 
 // ----------------------------------------------------------------------
 //  Fonction de creation de fichiers en CSV pour exportation tableur
 // ----------------------------------------------------------------------
 //  Entree : $table : Table de description
 //           $nom_fichier : Nom du fichier (sans extension)
 //           ATTENTION : Utilise la bibliotheque phppdflib
 //  Sortie : Generation du CSV
 // ----------------------------------------------------------------------
 Function tableau_csv ($table, $nom_fichier)
  {
   // Definition des couleurs par defaut
   Global $csv_separateur_champs, $csv_separateur_chaine, $csv_fin_ligne ;

   $fichier_entete = "" ;
   $ligne = "" ;

   // Entete des cellules
   $x1 = $table [0][7] ;
   If ($table [0][10] == 0)
    {
     For ($i = 0 ; $i < $table [0][3] ; $i++)
      {
       $ligne .= $csv_separateur_chaine.Str_Replace ("\n", " ", Chop ($table [1][11+$i])).$csv_separateur_chaine.$csv_separateur_champs ;
      }
     $ligne .= $csv_fin_ligne ;
    }
   Else
    {
     For ($i = 1 ; $i <= $table [0][10] ; $i++)
      {
       For ($j = 0 ; $j < $table [0][3] ; $j++)
        {
         If (IsSet ($table [$i][11+$j])) { $ligne .= $csv_separateur_chaine.Str_Replace ("\n", " ", Chop ($table [$i][11+$j])).$csv_separateur_chaine.$csv_separateur_champs ; }
         Else { $ligne .= $csv_separateur_chaine.$csv_separateur_chaine.$csv_separateur_champs ; }
        }
       $ligne .= $csv_fin_ligne ;
      }
    }
     
   // Contenu des cellules
   For ($i = 0 ; $i < $table [0][4] ; $i++)
    {
     For ($j = 0 ; $j < $table [0][3] ; $j++)
      {
       // $nombre_total+
       If (IsSet ($table [$i+2+$table [0][10]-1][11+$j]))// And ($table [$i+2+$table [0][10]-1][11+$j] != ""))
        {
         $ligne .= $csv_separateur_chaine.Str_Replace ("\n", " ", Chop ($table [$i+1+$table [0][10]][11+$j])).$csv_separateur_chaine.$csv_separateur_champs ;
        }
      }
     $ligne .= $csv_fin_ligne ;
    }
     
   // Les Titres
   For ($i = 0 ; $i < $table [0][2] ; $i++)
    {
     $fichier_entete .= $csv_separateur_chaine.Str_Replace ("\n", " ", Chop ($table [0][10*$i+11])).$csv_separateur_chaine.$csv_separateur_champs ;
     For ($j = 1 ; $j < $table [0][3] ; $j++)
      {
       $fichier_entete .= $csv_separateur_champs ;
      }
     $fichier_entete .= $csv_fin_ligne ;
    }
   $fiche = FOpen ("../../tmp/".$nom_fichier.".csv", "w") ; //Session_Id()
   FPuts ($fiche, $fichier_entete.$ligne) ;
   FClose ($fiche) ;
   //Header ("Location: ../../tmp/f".Session_Id().".csv") ;
   //Header ("Content-Type: application/csv");
   //Header ("Content-Disposition: inline; filename=../../tmp/".$nom_fichier.".csv") ;
   Header ("Location: ../../tmp/".$nom_fichier.".csv") ;
   Echo $fichier_entete.$ligne ;
  }
?>